
using Nop.Core.Configuration;

namespace Nop.Core.Domain.Media
{
    public class MediaSettings : ISettings
    {
        public int AvatarPictureSize { get; set; }
        public int ProductThumbPictureSize { get; set; }
        public int ProductDetailsPictureSize { get; set; }
        public int ProductThumbPictureSizeOnProductDetailsPage { get; set; }
        public int ProductVariantPictureSize { get; set; }
        public int CategoryThumbPictureSize { get; set; }
        public int ManufacturerThumbPictureSize { get; set; }
        public int CartThumbPictureSize { get; set; }
        public int MiniCartThumbPictureSize { get; set; }
        public int AutoCompleteSearchThumbPictureSize { get; set; }
        public int TopicPictureSize { get; set; }

        public int StorePictureSize { get; set; }
        public int FavoriteStoreThumbPictureSize { get; set; }
        public int StoreLogoStorePagePictureSize { get; set; }
        public int StoreLogoFeaturedStorePictureSize { get; set; }
        public int StoreLogoProductBoxPictureSize { get; set; }
        public int StoreLogoShoppingCartPictureSize { get; set; }
        public int StoreLogoProductPagePictureSize { get; set; }
        public bool DefaultPictureZoomEnabled { get; set; }

        public int MaximumImageSize { get; set; }

        /// <summary>
        /// Geta or sets a default quality used for image generation
        /// </summary>
        public int DefaultImageQuality { get; set; }

        /// <summary>
        /// Blob storage host name
        /// </summary>
        public string BlobStorageHost { get; set; }

        /// <summary>
        /// Blob storage connection string
        /// </summary>
        public string BlobStorageConnectionString { get; set; }

        /// <summary>
        /// Container name of the product images
        /// </summary>
        public string ProductImageContainer { get; set; }

        /// <summary>
        /// Container name of the uploaded content images
        /// </summary>
        public string UploadImageContainer { get; set; }

        /// <summary>
        /// Image host DNS name - reserved for future independent image dns
        /// </summary>
        public string ImageHost { get; set; }

		/// <summary>
		/// Slide Show shows in Home Page
		/// </summary>
		public string HomePageSlideShow { get; set; }
    }
}